using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.Xna.Framework.Graphics;
namespace KLib.Graphics
{
    public interface IMaterialService
    {
        void AddMaterial(string name, Material material);
        void AddMaterial(string name, Texture2D texture);
        void AddMaterial(string name, Effect effect);

        void LoadMaterial(string name);
        void LoadMaterial(string name, string textureName);
        void LoadMaterial(string name, string textureName, string effectname);

        Texture2D LoadAndGetTexture(string assetName);

        Texture2D GetTexture(string name);
        void GetTexture(string textureName, out Texture2D texture);

        Material GetMaterial(string name);

        void RemoveMaterial(string name);
        void Unload();
    }
}
